﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MvcEngine.Core.Account;
using MvcEngine.Core.Pagination;

namespace MvcEngine.Core.Repositories
{
    public interface IRoleRepository
    {
        Role Get(string name, Guid siteId);

        IList<Role> GetAllByUser(string userName, Guid siteId);

        IList<Role> GetAllByUser(Guid userId);

        Role Get(Guid id);

        IPagination<Role> GetAll(int pageIndex, int count, Guid siteId);

        IList<Role> GetAll(Guid siteId);

        void Add(Role entity);

        void Delete(Guid id);

        void DeleteAll();
    }
}
